package cn.caskm.souvenirshopsystem.service;

import cn.caskm.souvenirshopsystem.domain.Result;
import cn.caskm.souvenirshopsystem.domain.dto.PageDTO;
import cn.caskm.souvenirshopsystem.domain.po.SeckillGoods;
import cn.caskm.souvenirshopsystem.domain.query.SeckillGoodsQuery;
import cn.caskm.souvenirshopsystem.domain.vo.SeckillGoodsVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface SeckillGoodsService extends IService<SeckillGoods> {

    /**
     * 分页查询秒杀商品
     */
    Result<PageDTO<SeckillGoodsVO>> page(SeckillGoodsQuery query);

    /**
     * 获取进行中的秒杀商品
     */
    Result<List<SeckillGoodsVO>> getOngoingSeckillGoods();

    /**
     * 获取即将开始的秒杀商品
     */
    Result<List<SeckillGoodsVO>> getUpcomingSeckillGoods();

    /**
     * 获取秒杀商品详情
     */
    Result<SeckillGoodsVO> getSeckillGoodsDetail(Integer seckillId);

    /**
     * 创建秒杀商品
     */
    Result<Void> createSeckillGoods(SeckillGoods seckillGoods);

    /**
     * 更新秒杀商品
     */
    Result<Void> updateSeckillGoods(SeckillGoods seckillGoods);

    /**
     * 删除秒杀商品
     */
    Result<Void> deleteSeckillGoods(Integer seckillId);

    /**
     * 更新秒杀状态
     */
    Result<Void> updateSeckillStatus(Integer seckillId, String status);

}
